home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / programmierung / proasm / routines / gtfxdefs.r < prev    next >
Text File  |  1993-04-08  |  13KB  |  409 lines

  1. ;---;  gtfxdefs.r  ;------------------------------------------------------------
  2. *
  3. *    ****    EXTERNAL DEFINITIONS FOR GTFACE (INSTEAD OF INCLUDES)    ****
  4. *
  5. *    Author        Stefan Walter
  6. *    Version        1.00b
  7. *    Last Revision    08.04.93
  8. *
  9. ;------------------------------------------------------------------------------
  10.  
  11.     incdir    include:
  12.     include    utility/tagitem.i
  13.     include    libraries/gadtools.i
  14.     include    intuition/intuition.i
  15.     include    intuition/gadgetclass.i
  16.  
  17.     end
  18.  
  19. ;------------------
  20.  
  21.     IFND    TAG_USER
  22. TAG_USER    equ    $80000000
  23.     ENDC
  24.  
  25. ;------------------------------------------------------------------------------
  26. ** $Filename: intuition/gadgetclass.i $
  27.  
  28.  
  29.     IFND INTUITION_GADGETCLASS_I
  30. INTUITION_GADGETCLASS_I SET 1
  31.  
  32.  
  33. ; Gadget Class attributes
  34.  
  35. GA_Dummy        EQU    (TAG_USER+$30000)
  36. GA_Left            EQU    (GA_Dummy+$0001)
  37. GA_RelRight        EQU    (GA_Dummy+$0002)
  38. GA_Top            EQU    (GA_Dummy+$0003)
  39. GA_RelBottom        EQU    (GA_Dummy+$0004)
  40. GA_Width        EQU    (GA_Dummy+$0005)
  41. GA_RelWidth        EQU    (GA_Dummy+$0006)
  42. GA_Height        EQU    (GA_Dummy+$0007)
  43. GA_RelHeight        EQU    (GA_Dummy+$0008)
  44. GA_Text            EQU    (GA_Dummy+$0009)  ; ti_Data is (UBYTE *)
  45. GA_Image        EQU    (GA_Dummy+$000A)
  46. GA_Border        EQU    (GA_Dummy+$000B)
  47. GA_SelectRender        EQU    (GA_Dummy+$000C)
  48. GA_Highlight        EQU    (GA_Dummy+$000D)
  49. GA_Disabled        EQU    (GA_Dummy+$000E)
  50. GA_GZZGadget        EQU    (GA_Dummy+$000F)
  51. GA_ID            EQU    (GA_Dummy+$0010)
  52. GA_UserData        EQU    (GA_Dummy+$0011)
  53. GA_SpecialInfo        EQU    (GA_Dummy+$0012)
  54. GA_Selected        EQU    (GA_Dummy+$0013)
  55. GA_EndGadget        EQU    (GA_Dummy+$0014)
  56. GA_Immediate        EQU    (GA_Dummy+$0015)
  57. GA_RelVerify        EQU    (GA_Dummy+$0016)
  58. GA_FollowMouse        EQU    (GA_Dummy+$0017)
  59. GA_RightBorder        EQU    (GA_Dummy+$0018)
  60. GA_LeftBorder        EQU    (GA_Dummy+$0019)
  61. GA_TopBorder        EQU    (GA_Dummy+$001A)
  62. GA_BottomBorder        EQU    (GA_Dummy+$001B)
  63. GA_ToggleSelect        EQU    (GA_Dummy+$001C)
  64.  
  65. * internal use only, until further notice, please
  66. GA_SysGadget        EQU    (GA_Dummy+$001D)
  67. * bool, sets GTYP_SYSGADGET field in type
  68. GA_SysGType        EQU    (GA_Dummy+$001E)
  69. * e.g., GTYP_WUPFRONT, ...
  70.  
  71. GA_Previous        EQU    (GA_Dummy+$001F)
  72. * previous gadget (or (struct Gadget **)) in linked list
  73. * NOTE: This attribute CANNOT be used to link new gadgets
  74. * into the gadget list of an open window or requester.
  75. * You must use AddGList().
  76.  
  77. GA_Next            EQU    (GA_Dummy+$0020)
  78. * not implemented
  79.  
  80. GA_DrawInfo        EQU    (GA_Dummy+$0021)
  81. * some fancy gadgets need to see a DrawInfo
  82. * when created or for layout
  83.  
  84. * You should use at most ONE of GA_Text, GA_IntuiText, and GA_LabelImage
  85. GA_IntuiText        EQU    (GA_Dummy+$0022)
  86. * ti_Data is (struct IntuiText    *)
  87.  
  88. GA_LabelImage        EQU    (GA_Dummy+$0023)
  89. * ti_Data is an image (object), used in place of
  90. * GadgetText
  91.  
  92. GA_TabCycle        EQU    (GA_Dummy+$0024)
  93. * New for V37:
  94. * Boolean indicates that this gadget is to participate in
  95. * cycling activation with Tab or Shift-Tab.
  96.  
  97. * PROPGCLASS attributes
  98.  
  99. PGA_Dummy        EQU    (TAG_USER+$31000)
  100. PGA_Freedom        EQU    (PGA_Dummy+$0001)
  101. * either or both of FREEVERT and FREEHORIZ
  102. PGA_Borderless        EQU    (PGA_Dummy+$0002)
  103. PGA_HorizPot        EQU    (PGA_Dummy+$0003)
  104. PGA_HorizBody        EQU    (PGA_Dummy+$0004)
  105. PGA_VertPot        EQU    (PGA_Dummy+$0005)
  106. PGA_VertBody        EQU    (PGA_Dummy+$0006)
  107. PGA_Total        EQU    (PGA_Dummy+$0007)
  108. PGA_Visible        EQU    (PGA_Dummy+$0008)
  109. PGA_Top            EQU    (PGA_Dummy+$0009)
  110. ; New for V37:
  111. PGA_NewLook        EQU    (PGA_Dummy+$000A)
  112.  
  113. * STRGCLASS attributes
  114.  
  115. STRINGA_Dummy            EQU    (TAG_USER+$32000)
  116. STRINGA_MaxChars    EQU    (STRINGA_Dummy+$0001)
  117. STRINGA_Buffer        EQU    (STRINGA_Dummy+$0002)
  118. STRINGA_UndoBuffer    EQU    (STRINGA_Dummy+$0003)
  119. STRINGA_WorkBuffer    EQU    (STRINGA_Dummy+$0004)
  120. STRINGA_BufferPos    EQU    (STRINGA_Dummy+$0005)
  121. STRINGA_DispPos        EQU    (STRINGA_Dummy+$0006)
  122. STRINGA_AltKeyMap    EQU    (STRINGA_Dummy+$0007)
  123. STRINGA_Font        EQU    (STRINGA_Dummy+$0008)
  124. STRINGA_Pens        EQU    (STRINGA_Dummy+$0009)
  125. STRINGA_ActivePens    EQU    (STRINGA_Dummy+$000A)
  126. STRINGA_EditHook    EQU    (STRINGA_Dummy+$000B)
  127. STRINGA_EditModes    EQU    (STRINGA_Dummy+$000C)
  128.  
  129. * booleans
  130. STRINGA_ReplaceMode    EQU    (STRINGA_Dummy+$000D)
  131. STRINGA_FixedFieldMode    EQU    (STRINGA_Dummy+$000E)
  132. STRINGA_NoFilterMode    EQU    (STRINGA_Dummy+$000F)
  133.  
  134. STRINGA_Justification    EQU    (STRINGA_Dummy+$0010)
  135. * GACT_STRINGCENTER, GACT_STRINGLEFT, GACT_STRINGRIGHT
  136. STRINGA_LongVal        EQU    (STRINGA_Dummy+$0011)
  137. STRINGA_TextVal        EQU    (STRINGA_Dummy+$0012)
  138.  
  139. STRINGA_ExitHelp    EQU    (STRINGA_Dummy+$0013)
  140. * STRINGA_ExitHelp is new for V37, and ignored by V36.
  141. * Set this if you want the gadget to exit when Help is
  142. * pressed.  Look for a code of 0x5F, the rawkey code for Help
  143.  
  144. SG_DEFAULTMAXCHARS    EQU    (128)
  145.  
  146. * Gadget Layout related attributes
  147.  
  148. LAYOUTA_Dummy        EQU    (TAG_USER+$38000)
  149. LAYOUTA_LayoutObj    EQU    (LAYOUTA_Dummy+$0001)
  150. LAYOUTA_Spacing        EQU    (LAYOUTA_Dummy+$0002)
  151. LAYOUTA_Orientation    EQU    (LAYOUTA_Dummy+$0003)
  152.  
  153. * orientation values
  154. LORIENT_NONE        EQU    0
  155. LORIENT_HORIZ        EQU    1
  156. LORIENT_VERT        EQU    2
  157.  
  158. ; Custom gadget hook command ID's 
  159. ; (gadget class method/message ID's)
  160.  
  161. GM_HITTEST EQU        0    ; return GMR_GADGETHIT if you are clicked
  162.                 ; (whether or not you are disabled)
  163. GM_RENDER EQU        1    ; draw yourself, in the appropriate state
  164. GM_GOACTIVE EQU        2    ; you are now going to be fed input
  165. GM_HANDLEINPUT EQU    3    ; handle that input
  166. GM_GOINACTIVE EQU    4    ; whether or not by choice, you are done
  167.  
  168.  
  169.     ENDIF
  170.  
  171.  
  172.  
  173. ;------------------------------------------------------------------------------
  174. ** $Filename: intuition/intuition.i $
  175.  
  176.  
  177.     IFND    INTUITION_INTUITION_I
  178. INTUITION_INTUITION_I    SET    1
  179.  
  180.  
  181. IDCMP_SIZEVERIFY    EQU    $00000001
  182. IDCMP_NEWSIZE        EQU    $00000002
  183. IDCMP_REFRESHWINDOW    EQU    $00000004
  184. IDCMP_MOUSEBUTTONS    EQU    $00000008
  185. IDCMP_MOUSEMOVE        EQU    $00000010
  186. IDCMP_GADGETDOWN    EQU    $00000020
  187. IDCMP_GADGETUP        EQU    $00000040
  188. IDCMP_REQSET        EQU    $00000080
  189. IDCMP_MENUPICK        EQU    $00000100
  190. IDCMP_CLOSEWINDOW    EQU    $00000200
  191. IDCMP_RAWKEY        EQU    $00000400
  192. IDCMP_REQVERIFY        EQU    $00000800
  193. IDCMP_REQCLEAR        EQU    $00001000
  194. IDCMP_MENUVERIFY    EQU    $00002000
  195. IDCMP_NEWPREFS        EQU    $00004000
  196. IDCMP_DISKINSERTED    EQU    $00008000
  197. IDCMP_DISKREMOVED    EQU    $00010000
  198. IDCMP_WBENCHMESSAGE    EQU    $00020000    ; System use only
  199. IDCMP_ACTIVEWINDOW    EQU    $00040000
  200. IDCMP_INACTIVEWINDOW    EQU    $00080000
  201. IDCMP_DELTAMOVE        EQU    $00100000
  202. IDCMP_VANILLAKEY    EQU    $00200000
  203. IDCMP_INTUITICKS    EQU    $00400000
  204. ;  for notifications from "boopsi" gadgets:
  205. IDCMP_IDCMPUPDATE    EQU    $00800000      ; new for V36
  206. ; for getting help key report during menu session:
  207. IDCMP_MENUHELP        EQU    $01000000      ; new for V36
  208. ; for notification of any move/size/zoom/change window:
  209. IDCMP_CHANGEWINDOW    EQU    $02000000      ; new for V36
  210. ; NOTEZ-BIEN:        $80000000 is reserved for internal use by IDCMP
  211.  
  212. ; the IDCMP Flags do not use this special bit, which is cleared when
  213. ; Intuition sends its special message to the Task, and set when Intuition
  214. ; gets its Message back from the Task.  Therefore, I can check here to
  215. ; find out fast whether or not this Message is available for me to send
  216. IDCMP_LONELYMESSAGE    EQU    $80000000
  217.  
  218.  
  219. WA_Left            equ    $80000000+100
  220. WA_Top            equ    $80000000+100+1
  221. WA_Width        equ    $80000000+100+2
  222. WA_Height        equ    $80000000+100+3
  223. WA_DetailPen        equ    $80000000+100+4
  224. WA_BlockPen        equ    $80000000+100+5
  225. WA_IDCMP        equ    $80000000+100+6
  226. WA_Flags        equ    $80000000+100+7
  227. WA_Gadgets        equ    $80000000+100+8
  228. WA_Checkmark        equ    $80000000+100+9
  229. WA_Title        equ    $80000000+100+10
  230. WA_ScreenTitle        equ    $80000000+100+11
  231. WA_CustomScreen        equ    $80000000+100+12
  232. WA_SuperBitMap        equ    $80000000+100+13
  233. WA_MinWidth        equ    $80000000+100+14
  234. WA_MinHeight        equ    $80000000+100+15
  235. WA_MaxWidth        equ    $80000000+100+16
  236. WA_MaxHeight        equ    $80000000+100+17
  237. WA_InnerWidth        equ    $80000000+100+18
  238. WA_InnerHeight        equ    $80000000+100+19
  239. WA_PubScreenName    equ    $80000000+100+20
  240. WA_PubScreen        equ    $80000000+100+21
  241. WA_PubScreenFallBack    equ    $80000000+100+22
  242. WA_WindowName        equ    $80000000+100+23
  243. WA_Colors        equ    $80000000+100+24
  244. WA_Zoom            equ    $80000000+100+25
  245. WA_MouseQueue        equ    $80000000+100+26
  246. WA_BackFill        equ    $80000000+100+27
  247. WA_RptQueue        equ    $80000000+100+28
  248. WA_SizeGadget        equ    $80000000+100+29
  249. WA_DragBar        equ    $80000000+100+30
  250. WA_DepthGadget        equ    $80000000+100+31
  251. WA_CloseGadget        equ    $80000000+100+32
  252. WA_Backdrop        equ    $80000000+100+33
  253. WA_ReportMouse        equ    $80000000+100+34
  254. WA_NoCareRefresh    equ    $80000000+100+35
  255. WA_Borderless        equ    $80000000+100+36
  256. WA_Activate        equ    $80000000+100+37
  257. WA_RMBTrap        equ    $80000000+100+38
  258. WA_WBenchWindow        equ    $80000000+100+39
  259. WA_SimpleRefresh    equ    $80000000+100+40
  260. WA_SmartRefresh        equ    $80000000+100+41
  261. WA_SizeBRight        equ    $80000000+100+42
  262. WA_SizeBBottom        equ    $80000000+100+43
  263. WA_AutoAdjust        equ    $80000000+100+44
  264. WA_GimmeZeroZero    equ    $80000000+100+45
  265. WA_MenuHelp        equ    $80000000+100+46
  266.  
  267.  
  268.     ENDIF
  269.  
  270.  
  271. ;------------------------------------------------------------------------------
  272. **    $Filename: libraries/gadtools.i $
  273.  
  274.  
  275.     IFND LIBRARIES_GADTOOLS_I
  276. LIBRARIES_GADTOOLS_I    SET    1
  277.  
  278.  
  279. GENERIC_KIND    EQU    0
  280. BUTTON_KIND    EQU    1
  281. CHECKBOX_KIND    EQU    2
  282. INTEGER_KIND    EQU    3
  283. LISTVIEW_KIND    EQU    4
  284. MX_KIND        EQU    5
  285. NUMBER_KIND    EQU    6
  286. CYCLE_KIND    EQU    7
  287. PALETTE_KIND    EQU    8
  288. SCROLLER_KIND    EQU    9
  289. * Kind number 10 is reserved
  290. SLIDER_KIND    EQU    11
  291. STRING_KIND    EQU    12
  292. TEXT_KIND    EQU    13
  293.  
  294. ;ARROWIDCMP    EQU    GADGETUP!GADGETDOWN!INTUITICKS!MOUSEBUTTONS
  295. ;BUTTONIDCMP    EQU    GADGETUP
  296. ;CHECKBOXIDCMP    EQU    GADGETUP
  297. ;INTEGERIDCMP    EQU    GADGETUP
  298. ;LISTVIEWIDCMP    EQU    GADGETUP!GADGETDOWN!MOUSEMOVE!ARROWIDCMP
  299. ;MXIDCMP        EQU    GADGETDOWN
  300. ;NUMBERIDCMP    EQU    0
  301. ;CYCLEIDCMP    EQU    GADGETUP
  302. ;PALETTEIDCMP    EQU    GADGETUP
  303. ;*  Use ARROWIDCMP!SCROLLERIDCMP if your scrollers have arrows: *
  304. ;SCROLLERIDCMP    EQU    GADGETUP!GADGETDOWN!MOUSEMOVE
  305. ;SLIDERIDCMP    EQU    GADGETUP!GADGETDOWN!MOUSEMOVE
  306. ;STRINGIDCMP    EQU    GADGETUP
  307. ;TEXTIDCMP    EQU    0
  308.  
  309. GT_TagBase    EQU    TAG_USER+$80000 ; Begin counting tags
  310.  
  311. GTVI_NewWindow    EQU    GT_TagBase+$01    ; NewWindow struct for GetVisualInfo
  312. GTVI_NWTags    EQU    GT_TagBase+$02    ; NWTags for GetVisualInfo
  313.  
  314. GT_Private0    EQU    GT_TagBase+$03    ; (private)
  315.  
  316. GTCB_Checked    EQU    GT_TagBase+$04    ; State of checkbox
  317.  
  318. GTLV_Top    EQU    GT_TagBase+$05    ; Top visible one in listview
  319. GTLV_Labels    EQU    GT_TagBase+$06    ; List to display in listview
  320. GTLV_ReadOnly    EQU    GT_TagBase+$07    ; TRUE if listview is to be read-only
  321. GTLV_ScrollWidth    EQU    GT_TagBase+$08    ; Width of scrollbar
  322.  
  323. GTMX_Labels    EQU    GT_TagBase+$09    ; NULL-terminated array of labels
  324. GTMX_Active    EQU    GT_TagBase+$0A    ; Active one in mx gadget
  325.  
  326. GTTX_Text    EQU    GT_TagBase+$0B    ; Text to display
  327. GTTX_CopyText    EQU    GT_TagBase+$0C    ; Copy text label instead of referencing it
  328.  
  329. GTNM_Number    EQU    GT_TagBase+$0D    ; Number to display
  330.  
  331. GTCY_Labels    EQU    GT_TagBase+$0E    ; NULL-terminated array of labels
  332. GTCY_Active    EQU    GT_TagBase+$0F    ; The active one in the cycle gad
  333.  
  334. GTPA_Depth    EQU    GT_TagBase+$10    ; Number of bitplanes in palette
  335. GTPA_Color    EQU    GT_TagBase+$11    ; Palette color
  336. GTPA_ColorOffset    EQU    GT_TagBase+$12    ; First color to use in palette
  337. GTPA_IndicatorWidth    EQU    GT_TagBase+$13    ; Width of current-color indicator
  338. GTPA_IndicatorHeight    EQU    GT_TagBase+$14    ; Height of current-color indicator
  339.  
  340. GTSC_Top    EQU    GT_TagBase+$15    ; Top visible in scroller
  341. GTSC_Total    EQU    GT_TagBase+$16    ; Total in scroller area
  342. GTSC_Visible    EQU    GT_TagBase+$17    ; Number visible in scroller
  343. GTSC_Overlap    EQU    GT_TagBase+$18    ; Unused
  344.  
  345. * GT_TagBase+$19 through GT_TagBase+$25 are reserved
  346.  
  347. GTSL_Min    EQU    GT_TagBase+$26    ; Slider min value
  348. GTSL_Max    EQU    GT_TagBase+$27    ; Slider max value
  349. GTSL_Level    EQU    GT_TagBase+$28    ; Slider level
  350. GTSL_MaxLevelLen    EQU    GT_TagBase+$29    ; Max length of printed level
  351. GTSL_LevelFormat    EQU    GT_TagBase+$2A    ; Format string for level
  352. GTSL_LevelPlace    EQU    GT_TagBase+$2B    ; Where level should be placed
  353. GTSL_DispFunc    EQU    GT_TagBase+$2C    ; Callback for number calculation before display
  354.  
  355. GTST_String    EQU    GT_TagBase+$2D    ; String gadget's displayed string
  356. GTST_MaxChars    EQU    GT_TagBase+$2E    ; Max length of string
  357.  
  358. GTIN_Number    EQU    GT_TagBase+$2F    ; Number in integer gadget
  359. GTIN_MaxChars    EQU    GT_TagBase+$30    ; Max number of digits
  360.  
  361. GTMN_TextAttr    EQU    GT_TagBase+$31    ; MenuItem font TextAttr
  362. GTMN_FrontPen    EQU    GT_TagBase+$32    ; MenuItem text pen color
  363.  
  364. GTBB_Recessed    EQU    GT_TagBase+$33    ; Make BevelBox recessed
  365.  
  366. GT_VisualInfo    EQU    GT_TagBase+$34    ; result of VisualInfo call
  367.  
  368. GTLV_ShowSelected    EQU    GT_TagBase+$35    ; show selected entry beneath listview,
  369.             ; set tag data = NULL for display-only, or pointer
  370.             ; to a string gadget you've created
  371. GTLV_Selected    EQU    GT_TagBase+$36    ; Set ordinal number of selected entry in the list
  372. GT_Reserved1    EQU    GT_TagBase+$38    ; Reserved for future use
  373.  
  374. GTTX_Border    EQU    GT_TagBase+$39    ; Put a border around Text-display gadgets
  375. GTNM_Border    EQU    GT_TagBase+$3A    ; Put a border around Number-display gadgets
  376.  
  377. GTSC_Arrows    EQU    GT_TagBase+$3B    ; Specify size of arrows for scroller
  378. GTMN_Menu    EQU    GT_TagBase+$3C    ; Pointer to Menu for use by
  379.             ; LayoutMenuItems()
  380. GTMX_Spacing    EQU    GT_TagBase+$3D    ; Added to font height to
  381.             ; figure spacing between mx choices.  Use this
  382.             ; instead of LAYOUTA_SPACING for mx gadgets.
  383.  
  384. *  New to V37 GadTools.  Ignored by GadTools V36.
  385. GTMN_FullMenu    EQU    GT_TagBase+$3E  ; Asks CreateMenus() to
  386.         ; validate that this is a complete menu structure
  387. GTMN_SecondaryError    EQU    GT_TagBase+$3F  ; ti_Data is a pointer
  388.         ; to a ULONG to receive error reports from CreateMenus()
  389. GT_Underscore    EQU    GT_TagBase+$40    ; ti_Data points to the symbol
  390.         ; that preceeds the character you'd like to underline in a
  391.         ; gadget label
  392. GTST_EditHook    EQU    GT_TagBase+$37    ; String EditHook
  393.  
  394. *  Old definition, now obsolete:
  395. GT_Reserved0    EQU    GTST_EditHook
  396.  
  397. PLACETEXT_LEFT    EQU    $0001    * Right-align text on left side
  398. PLACETEXT_RIGHT    EQU    $0002    * Left-align text on right side
  399. PLACETEXT_ABOVE    EQU    $0004    * Center text above
  400. PLACETEXT_BELOW    EQU    $0008    * Center text below
  401. PLACETEXT_IN    EQU    $0010    * Center text on
  402.     
  403.     ENDIF
  404.  
  405.  
  406. ;------------------------------------------------------------------------------
  407.  
  408.     end
  409.